(************** Content-type: application/mathematica **************

                    Mathematica-Compatible Notebook

This notebook can be used with any Mathematica-compatible
application, such as Mathematica, MathReader or Publicon. The data
for the notebook starts with the line containing stars above.

To get the notebook into a Mathematica-compatible application, do
one of the following:

* Save the data starting with the line of stars above into a file
  with a name ending in .nb, then open the file inside the
  application;

* Copy the data starting with the line of stars above to the
  clipboard, then use the Paste menu command inside the application.

Data for notebooks contains only printable 7-bit ASCII and can be
sent directly in email or through ftp in text mode.  Newlines can be
CR, LF or CRLF (Unix, Macintosh or MS-DOS style).

NOTE: If you modify the data for this notebook not in a Mathematica-
compatible application, you must delete the line below containing
the word CacheID, otherwise Mathematica-compatible applications may
try to use invalid cache data.

For more information on notebooks and Mathematica-compatible 
applications, contact Wolfram Research:
  web: http://www.wolfram.com
  email: info@wolfram.com
  phone: +1-217-398-0700 (U.S.)

Notebook reader applications are available free of charge from 
Wolfram Research.
*******************************************************************)

(*CacheID: 232*)


(*NotebookFileLineBreakTest
NotebookFileLineBreakTest*)
(*NotebookOptionsPosition[     45991,       1216]*)
(*NotebookOutlinePosition[     46686,       1240]*)
(*  CellTagsIndexPosition[     46642,       1236]*)
(*WindowFrame->Normal*)



Notebook[{

Cell[CellGroupData[{
Cell[TextData[StyleBox["Module for the Jacobi Iteration for Eigenvectors",
  FontFamily->"New Century Schlbk",
  FontSize->14,
  FontWeight->"Bold",
  FontColor->RGBColor[0, 0, 1]]], "Text"],

Cell[TextData[{
  StyleBox["Numerical Methods using ",
    FontSize->14,
    FontWeight->"Bold",
    FontColor->RGBColor[0, 0, 1]],
  StyleBox["Mathematica",
    FontSize->14,
    FontWeight->"Bold",
    FontSlant->"Italic",
    FontColor->RGBColor[0, 0, 1]],
  StyleBox[" ",
    FontSize->14,
    FontWeight->"Bold",
    FontColor->RGBColor[0, 0, 1]],
  StyleBox[" ",
    FontSize->14],
  StyleBox["\n",
    FontSize->14,
    FontWeight->"Bold",
    FontColor->RGBColor[0.500008, 0.250004, 0.250004]],
  StyleBox["Complementary software supplements for  ",
    FontSize->14,
    FontWeight->"Bold",
    FontColor->RGBColor[0, 0.996109, 0]],
  StyleBox[" \n",
    FontSize->14],
  StyleBox[ButtonBox["Numerical Methods textbooks",
    ButtonData:>{
      URL[ "http://math.fullerton.edu/mathews/numerical.html"], None},
    ButtonStyle->"Hyperlink"],
    FontSize->14,
    FontWeight->"Bold",
    FontColor->RGBColor[0.500008, 0, 0.996109]],
  StyleBox["  ",
    FontSize->14],
  StyleBox["\n",
    FontSize->14,
    FontWeight->"Bold",
    FontColor->RGBColor[0.500008, 0.250004, 0.250004]],
  StyleBox[ButtonBox["John H. Mathews and Kurtis Fink, 2004",
    ButtonData:>{
      URL[ "http://www.ecs.fullerton.edu/~mathews/numerical.html"], None},
    ButtonStyle->"Hyperlink"],
    FontSize->14,
    FontWeight->"Bold",
    FontColor->RGBColor[0.500008, 0, 0.996109]],
  StyleBox["  ",
    FontSize->14,
    FontColor->RGBColor[0.500008, 0, 0.996109]]
}], "Text"]
}, Closed]],

Cell[TextData[{
  StyleBox["Jacobi\[CloseCurlyQuote]s Method",
    FontFamily->"Times New Roman",
    FontWeight->"Bold",
    FontColor->RGBColor[0, 0, 1]],
  StyleBox["\n\n\t",
    FontFamily->"Times New Roman",
    FontWeight->"Bold"],
  StyleBox["Jacobi\[CloseCurlyQuote]s method is an easily understood \
algorithm for finding all eigenpairs for a symmetric matrix. It is a reliable \
method that produces uniformly accurate answers for the results. For matrices \
of order up to 10\[Times]10, the algorithm is competitive with more \
sophisticated ones. If speed is not a major consideration, it is quite \
acceptable for matrices up to order 20\[Times]20. A solution is guaranteed \
for all real symmetric matrices when Jacobi\[CloseCurlyQuote]s method is \
used. This limitation is not severe since many practical problems of applied \
mathematics and engineering involve symmetric matrices. From a theoretical \
viewpoint, the method embodies techniques that are found in more \
sophisticated algorithms. For instructive purposes, it is worthwhile to \
investigate the details of Jacobi\[CloseCurlyQuote]s method.  ",
    FontFamily->"Times New Roman"]
}], "Text"],

Cell[TextData[{
  StyleBox["Jacobi Series of Transformations",
    FontFamily->"Times New Roman",
    FontWeight->"Bold",
    FontColor->RGBColor[0, 0, 1]],
  StyleBox["\n\n\t",
    FontFamily->"Times New Roman",
    FontWeight->"Bold"],
  StyleBox["Start with the real symmetric matrix  ",
    FontFamily->"Times New Roman"],
  Cell[BoxData[
      StyleBox["A",
        FontWeight->"Bold"]]],
  StyleBox[". Then construct the sequence of orthogonal matrices  ",
    FontFamily->"Times New Roman"],
  Cell[BoxData[
      RowBox[{
        SubscriptBox[
          StyleBox["R",
            FontWeight->"Bold"], "1"], 
        StyleBox[",",
          FontFamily->"Times New Roman",
          FontSize->12,
          FontWeight->"Plain",
          FontSlant->"Plain",
          FontColor->GrayLevel[0],
          FontVariations->{"Underline"->False,
          "StrikeThrough"->False}], 
        SubscriptBox[
          StyleBox["R",
            FontWeight->"Bold"], "2"], 
        StyleBox[",",
          FontFamily->"Times New Roman",
          FontSize->12,
          FontWeight->"Plain",
          FontSlant->"Plain",
          FontColor->GrayLevel[0],
          FontVariations->{"Underline"->False,
          "StrikeThrough"->False}], "...", 
        StyleBox[",",
          FontFamily->"Times New Roman",
          FontSize->12,
          FontWeight->"Plain",
          FontSlant->"Plain",
          FontColor->GrayLevel[0],
          FontVariations->{"Underline"->False,
          "StrikeThrough"->False}], 
        SubscriptBox[
          StyleBox["R",
            FontWeight->"Bold"], "n"]}]]],
  StyleBox["  as follows:\n\n\t\t",
    FontFamily->"Times New Roman"],
  Cell[BoxData[
      RowBox[{
        SubscriptBox[
          StyleBox["D",
            FontWeight->"Bold"], "0"], " ", "=", " ", 
        StyleBox["A",
          FontWeight->"Bold"]}]]],
  "\n\tand\n\t\t",
  Cell[BoxData[
      RowBox[{
        SubscriptBox[
          StyleBox["D",
            FontWeight->"Bold"], "j"], " ", "=", " ", 
        RowBox[{
          SubsuperscriptBox[
            StyleBox["R",
              FontWeight->"Bold"], "j", "T"], " ", 
          SubscriptBox[
            St